1. Field of the Invention
The invention relates generally to a control unit and control method for an internal combustion engine, which executes an ISC (Idle Speed Control) learning control, and, more specifically to an ISC learning control executed over a torque-demand-type internal combustion engine.
2. Description of the Related Art
Usually, an idle speed control (ISC) is executed over an engine. The idle speed control is executed to maintain the idle speed of the engine at a constant speed. More specifically, an air passage, through which the air bypasses a throttle valve of the engine, is formed, and the flow passage area of the air passage is adjusted by an actuator to adjust the flow rate of the air (air-fuel mixture), whereby the idle speed is controlled. An idle speed control unit executes a feedback control to bring the idle speed closer to a target value. Thus, the engine speed is maintained substantially constant.
The air flow rate that is required to maintain the idle speed of the engine at a constant speed in the feedback control varies depending on various factors such as the individual difference and the temporal change. Therefore, a so-called learning control for storing the results of feedback is executed. Usually, the initial learned value of the idle-time air flow-rate is set to a value high enough to reliably avoid engine stalling. When the learning control has not been completed, the idle speed control is executed using the initial value.
Japanese Patent Application Publication No. 2006-177301 (JP-A-2006-177301) describes an idle speed control unit for an internal combustion engine, which prevents erroneous learning in the idle speed control. The idle speed control unit adjusts the intake air amount based on the ISC correction amount to control the engine  speed when the engine is idling. The ISC correction amount includes a feedback term for adjusting the engine speed to the target value, an ISC learned value that increases or decreases to bring the feedback term into a predetermined range when the internal combustion engine is warm, a cold-time correction term that increases or decreases when the engine is cold, and a cold/warm time correction term that increases or decreases both when the engine is cold and when it is warm. Only when the internal combustion engine is cold, the intake air density correction is executed on only the cold-time correction term so that the cold-time correction term increases as the density of the intake air decreases.
With this idle speed control unit for an internal combustion engine, when the internal combustion engine is warm, the ISC learned value is adjusted so that the feedback term falls within the predetermined range. When the feedback term falls within the predetermined range, determination of the ISC learned value is completed. When the internal combustion engine is warm, the ISC learned value thus determined is a value that corresponds to the density of the intake air (intake air density), and the cold/warm-time correction term is adjusted to a value corresponding to the intake air density based on the ISC learned value. This adjustment compensates for the deviation of intake air amount from the appropriate value due to a difference in the intake air density. When the internal combustion engine is cold, the intake air density correction is executed on only the cold-time correction term so that the cold-time correction term increases as the intake air density decreases. This correction compensates for the deviation of the intake air amount from the appropriate value due to the difference in the intake air density. The intake air density correction is not executed on the cold/warm-time correction term when the internal combustion engine is warm. Therefore, it is possible to avoid an unnecessary intake air density correction executed on the cold/warm-time correction term and erroneous learning of the ISC learned value caused by determining the ISC learned value at the same time as the intake air density correction when the engine is warm.
In the ISC learning control, the difference between the average characteristic that indicates the relationship between “throttle valve opening amount and flow rate”, which is stored in an engine ECU (Electronic Control Unit), and the current characteristic  that indicates the relationship between “throttle valve opening amount detected by throttle sensor and flow rate detected by airflow meter” is learned. The manner in which the current flow characteristic changes (e.g. variation in the individual difference) differs from the manner in which the average flow characteristic changes. The line indicating the current characteristic deviates from the line indicating the average characteristic in parallel. In addition, the inclination of the line indicating the current characteristic differs from the inclination of the line indicating the average characteristic. Therefore, the deviation varies depending on the throttle valve opening amount. Accordingly, it is preferable to execute the ISC learning control at various throttle valve opening amounts.
However, the actual ISC learning control is executed in a stable idle state (the throttle valve opening amount is kept unchanged and therefore the engine speed is kept unchanged). That is, the learning control is executed only in a considerably small throttle valve opening amount range (in the idle state). This is because, if the throttle valve opening amount is changed in the stable idle state, the engine speed changes, which makes it difficult to execute the ISC learning control. This means that, if only the throttle valve opening amount is changed in such stable idle state, the engine speed changes.
However, JP-A-2006-177301 does not describe that the learning control over the throttle valve flow characteristic is executed in a broader range by intentionally changing the throttle valve opening amount in the stable idle state.